﻿namespace EasyCMS.Core.Dals
{
    using System;
    using System.Collections.Generic;
    using Pismire;

    public interface ISubject
    {
        void Init(string args);

        EasyCMS.Common.DataComponents.Subject GetByID(int id);

        EasyCMS.Common.DataComponents.Subject GetByCodeName(string codeName);

        List<EasyCMS.Common.DataComponents.Subject> GetList(EasyCMS.Common.Querys.Subject query, out int recordCount);

        ExcuteState Add(ref EasyCMS.Common.DataComponents.Subject data);

        ExcuteState Update(ref EasyCMS.Common.DataComponents.Subject data);

        ExcuteState Delete(int id);

        ExcuteState CreateSubjectTable();
    }
}
